(function(global){
    /**
     * 数据适配类.
     * @param {Function} fun
     * @constructor
     */
    var DataAdapter = function DataAdapter(fun){
        this.fun = fun || Function.pipe;    
    };    
    /**
     * 转化数据格式. 
     * @param {Object} data
     * @return {Object} 适配后的数据格式.
     */
    DataAdapter.prototype.parse = function(data){
        return this.fun(data);
    };    
    /**
     * 空数据适配器，不干任何事。
     * @property emptyDataAdapter
     * @type DataAdapter
     */
    DataAdapter.emptyDataAdapter = new DataAdapter();
    
    //--------------------------------------------------------
    
    //TODO 老版本兼容性代码，新项目中去掉.
    global.DataAdapter = DataAdapter;
    
    ujs.define('DataAdapter', 'ujs.data', function(){
        return DataAdapter;
    });
})(window);